home *** CD-ROM | disk | FTP | other *** search
- import com.siemens.mp.io.File;
- import java.io.ByteArrayInputStream;
- import java.io.ByteArrayOutputStream;
- import java.io.DataInputStream;
- import java.io.DataOutputStream;
-
- public class AccountHandler {
- private static int retCode;
- private static int iRecordsNo = -1;
- private static final String fileName;
- private static final String tempFileName = "Accounts.tmp";
- private static final int buffLen = 500;
-
- static {
- fileName = "Accounts" + Globals.fileExtension;
- }
-
- private static void closeFile() {
- try {
- Globals.file.close(Globals.fileDesc);
- } catch (Exception var0) {
- }
-
- }
-
- public static void closeIDsFile() {
- try {
- Globals.file2.close(Globals.fileDesc2);
- } catch (Exception var0) {
- }
-
- }
-
- public static void deleteRecord(Account var0) {
- try {
- try {
- File var10000 = Globals.file2;
- int var1 = File.delete(var0.accountName + Globals.fileExtension);
- var10000 = Globals.file;
- var1 = File.delete("Accounts.tmp");
- } catch (Exception var4) {
- }
-
- Globals.fileDesc = Globals.file.open(fileName);
- Globals.fileDesc2 = Globals.file2.open("Accounts.tmp");
-
- for(int var7 = 0; var7 < var0.ID; ++var7) {
- Globals.file.seek(Globals.fileDesc, 500 * var7);
- Globals.file.read(Globals.fileDesc, Globals.byteArray, 0, 500);
- Globals.file2.seek(Globals.fileDesc2, 500 * var7);
- Globals.file2.write(Globals.fileDesc2, Globals.byteArray, 0, 500);
- }
-
- for(int var2 = var0.ID + 1; var2 < iRecordsNo; ++var2) {
- Globals.file.seek(Globals.fileDesc, 500 * var2);
- Globals.file.read(Globals.fileDesc, Globals.byteArray, 0, 500);
- Globals.file2.seek(Globals.fileDesc2, 500 * (var2 - 1));
- Globals.file2.write(Globals.fileDesc2, Globals.byteArray, 0, 500);
- }
-
- Globals.file.close(Globals.fileDesc);
- Globals.file2.close(Globals.fileDesc2);
- File var9 = Globals.file;
- File.delete(fileName);
- var9 = Globals.file2;
- int var3 = File.rename("Accounts.tmp", fileName);
- } catch (Exception var5) {
- MicroMail.printInfo(var5.getClass().getName() + ": " + ((Throwable)var5).getMessage());
- ((Throwable)var5).printStackTrace();
- }
-
- }
-
- public static Account getAccount(int var0) {
- openFile();
-
- try {
- if (Globals.file.length(Globals.fileDesc) < var0 * 500) {
- return null;
- }
- } catch (Exception var5) {
- }
-
- Account var1 = new Account();
-
- try {
- Globals.file.seek(Globals.fileDesc, 500 * var0);
- Globals.file.read(Globals.fileDesc, Globals.byteArray, 0, 500);
- ByteArrayInputStream var2 = new ByteArrayInputStream(Globals.byteArray);
- DataInputStream var3 = new DataInputStream(var2);
- var1.ID = var0;
- var1.accountName = var3.readUTF();
- var1.popHost = var3.readUTF();
- var1.popPort = var3.readInt();
- var1.smtpHost = var3.readUTF();
- var1.smtpPort = var3.readInt();
- var1.accountActive = var3.readBoolean();
- var1.downloadMail = var3.readBoolean();
- var1.emailName = var3.readUTF();
- var1.emailAddress = var3.readUTF();
- var1.replyAddress = var3.readUTF();
- var1.username = var3.readUTF();
- var1.password = var3.readUTF();
- var3.close();
- Object var7 = null;
- var2.close();
- Object var6 = null;
- } catch (Exception var4) {
- }
-
- closeFile();
- return var1;
- }
-
- public static void getActiveAccount() {
- }
-
- public static int getCount() {
- int var0 = openFile();
- closeFile();
- return var0;
- }
-
- private static int openFile() {
- try {
- Globals.fileDesc = Globals.file.open(fileName);
- iRecordsNo = Globals.file.length(Globals.fileDesc) / 500;
- return iRecordsNo;
- } catch (Exception var0) {
- return -1;
- }
- }
-
- public static void openIDsFile(String var0) {
- try {
- Globals.fileDesc2 = Globals.file2.open(var0);
- } catch (Exception var1) {
- }
-
- }
-
- public static String[] readIDs() {
- try {
- if (Globals.file2.length(Globals.fileDesc2) <= 0) {
- return null;
- } else {
- Globals.file2.seek(Globals.fileDesc2, 0);
- int var0 = readInt();
- String[] var1 = new String[var0];
-
- for(int var2 = 0; var2 < var0; ++var2) {
- var1[var2] = readStr();
- }
-
- return var1;
- }
- } catch (Exception var3) {
- return null;
- }
- }
-
- public static int readInt() {
- try {
- Globals.file2.read(Globals.fileDesc2, Globals.byteArray, 0, 2);
- int var0 = Globals.byteArray[0];
- if (var0 < 0) {
- var0 &= 255;
- }
-
- int var1 = Globals.byteArray[1];
- if (var1 < 0) {
- var1 &= 255;
- }
-
- int var2 = var0 << 8 | var1;
- return var2;
- } catch (Exception var3) {
- return -1;
- }
- }
-
- public static String readStr() {
- try {
- int var0 = readInt();
- Globals.file2.read(Globals.fileDesc2, Globals.byteArray, 0, var0);
- String var1 = new String(Globals.byteArray, 0, var0);
- return var1;
- } catch (Exception var2) {
- return null;
- }
- }
-
- public static void repairIDsFiles() {
- int var1 = 0;
- int var2 = getCount();
- if (var2 > 0) {
- for(int var3 = 0; var3 < var2; ++var3) {
- Account var0 = getAccount(var3);
- String var4 = var0.accountName + Globals.tmpFileExtension;
-
- try {
- File var10000 = Globals.file;
- var1 = File.exists(var4);
- } catch (Exception var9) {
- var1 = 0;
- }
-
- if (var1 != 0) {
- openIDsFile(var4);
- String[] var5 = readIDs();
- closeIDsFile();
- if (var5 != null) {
- openIDsFile(var0.accountName + Globals.fileExtension);
- int var6 = readInt();
- if (var6 < 0) {
- var6 = 0;
- }
-
- for(int var7 = 0; var7 < var5.length; ++var7) {
- writeID(var5[var7], var6 + var7 + 1);
- }
-
- closeIDsFile();
- }
-
- try {
- File var11 = Globals.file;
- File.delete(var4);
- } catch (Exception var8) {
- }
- }
- }
- }
-
- }
-
- public static void storeAccount(Account var0, String var1) {
- openFile();
-
- try {
- ByteArrayOutputStream var3 = new ByteArrayOutputStream();
- DataOutputStream var4 = new DataOutputStream(var3);
- var4.writeUTF(var0.accountName);
- var4.writeUTF(var0.popHost);
- var4.writeInt(var0.popPort);
- var4.writeUTF(var0.smtpHost);
- var4.writeInt(var0.smtpPort);
- var4.writeBoolean(var0.accountActive);
- var4.writeBoolean(var0.downloadMail);
- var4.writeUTF(var0.emailName);
- var4.writeUTF(var0.emailAddress);
- var4.writeUTF(var0.replyAddress);
- var4.writeUTF(var0.username);
- var4.writeUTF(var0.password);
- byte[] var2 = var3.toByteArray();
- var4.close();
- Object var7 = null;
- var3.close();
- Object var6 = null;
- if (var0.ID < 0) {
- Globals.file.seek(Globals.fileDesc, Globals.file.length(Globals.fileDesc));
- Globals.file.write(Globals.fileDesc, var2, 0, 500);
- var0.ID = iRecordsNo++;
- } else {
- Globals.file.seek(Globals.fileDesc, 500 * var0.ID);
- Globals.file.write(Globals.fileDesc, var2, 0, 500);
- File var10000 = Globals.file2;
- File.rename(var1 + Globals.fileExtension, var0.accountName + Globals.fileExtension);
- }
- } catch (Exception var5) {
- }
-
- closeFile();
- System.gc();
- }
-
- public static void writeID(String var0, int var1) {
- try {
- Globals.file2.seek(Globals.fileDesc2, 0);
- writeInt(var1);
- Globals.file2.seek(Globals.fileDesc2, Globals.file2.length(Globals.fileDesc2));
- writeStr(var0);
- } catch (Exception var2) {
- }
-
- }
-
- public static void writeInt(int var0) {
- Globals.byteArray[0] = (byte)((var0 & '\uff00') >> 8);
- Globals.byteArray[1] = (byte)(var0 & 255);
-
- try {
- Globals.file2.write(Globals.fileDesc2, Globals.byteArray, 0, 2);
- } catch (Exception var1) {
- }
-
- }
-
- public static void writeStr(String var0) {
- try {
- writeInt(var0.length());
- Globals.file2.write(Globals.fileDesc2, var0.getBytes(), 0, var0.length());
- } catch (Exception var1) {
- }
-
- }
- }
-